package model

// PluginConfig struct
// type PluginConfig struct {
// 	Enabled bool   `json:"enabled"`
// 	Dir     string `json:"dir"`
// 	Git     string `json:"git"`
// 	LogDir  string `json:"logs"`
// }

// HeartbeatConfig struct
// type HeartbeatConfig struct {
// 	Enabled  bool   `json:"enabled"`
// 	Addr     string `json:"addr"`
// 	Interval int    `json:"interval"`
// 	Timeout  int    `json:"timeout"`
// }

// TransferConfig struct
type TransferConfig struct {
	Enabled  bool     `json:"enabled"`
	Addrs    []string `json:"addrs"`
	Interval int      `json:"interval"`
	Timeout  int      `json:"timeout"`
}

// HTTPConfig struct
type HTTPConfig struct {
	Enabled  bool   `json:"enabled"`
	Listen   string `json:"listen"`
	Backdoor bool   `json:"backdoor"`
}

// CollectorConfig struct
// type CollectorConfig struct {
// 	IfacePrefix []string `json:"ifacePrefix"`
// 	MountPoint  []string `json:"mountPoint"`
// }

// GlobalConfig struct
type GlobalConfig struct {
	// Debug         bool              `json:"debug"`
	Hostname string `json:"hostname"`
	IP       string `json:"ip"`
	// Plugin        *PluginConfig     `json:"plugin"`
	// Heartbeat     *HeartbeatConfig  `json:"heartbeat"`
	Transfer *TransferConfig `json:"transfer"`
	HTTP     *HTTPConfig     `json:"http"`
	// Collector     *CollectorConfig  `json:"collector"`
	DefaultTags   map[string]string `json:"default_tags"`
	IgnoreMetrics map[string]bool   `json:"ignore"`
}
